<?php
/**
 * 自定义菜单 管理
 *
 * @author    Alex Xun xunzhibin@expert.com
 * @version   1.0
 * @copyright (C) 2018 Jnexpert Ltd. All rights reserved
 * @file      menu\controller\v1\index.php
 */

namespace app\menu\controller\v1;

use controller\BasicWechat;

/**
 * 自定义菜单 控制器类
 *
 * @author Alex Xun xunzhibin@jnexpert.com
 * @package controller
 */
class Index extends BasicWechat
{
    /**
     * 公众号 第三方库 初始化
     *
     * 根据具体所需服务，实例不同的接口类
     *
     * @author Alex Xun xunzhibin@jnexpert.com
     * @since 1.0
     */
    protected function initVendor()
    {
        // 实例化 第三方库
        $this->wechat = new \WeChat\Menu($this->config);
    }

    /**
     * 查询
     *
     * 查询自定义菜单，包含默认菜单和全部个性化菜单
     *
     * @api
     * @author Alex Xun xunzhibin@jnexpert.com
     * @since 1.0
     */
    public function index()
    {
        // 查询
        $result = $this->wechat->get();

        // 响应
        return $this->response($result, true);
    }

    /**
     * 删除
     *
     * 将删除所有自定义菜单，包括默认菜单和全部个性化菜单
     *
     * @author Alex Xun xunzhibin@jnexpert.com
     * @since 1.0
     *
     * @return array
     */
    public function delete()
    {
        // 删除
        $result = $this->wechat->delete();

        // 响应
        return $this->response($result);
    }

    /**
     * 配置
     *
     * 获取公众号当前使用的自定义菜单配置，通过API设置，则返回菜单的开发设置
     * 在公众平台官网通过网站功能发布，则返回运营者设置菜单配置
     *
     * @author Alex Xun xunzhibin@jnexpert.com
     * @since 1.0
     */
    public function config()
    {
        // 查询
        $result = $this->wechat->getConfig();

        // 响应
        return $this->response($result, true);
    }
}
